// extend 是为了方便 使用 和 延展 vee-validate 中的 rules
import { extend, localize } from 'vee-validate'
// 验证规则导入
import {
  required,
  email,
  min,
  length,
  confirmed,
  integer
} from 'vee-validate/dist/rules'
// 汉化
import zh from 'vee-validate/dist/locale/zh_CN.json'

// extend 中 的name 名可以随意定义，但是要和 我们后续的使用中保持一致
extend('required', required)
extend('email', email)
extend('min', min)
extend('length', length)
extend('confirmed', confirmed)
extend('phone', {
  validate: value => value.length === 11 && /^(((13[0-9]{1})|(14[57]{1})|(15[012356789]{1})|(17[03678]{1})|(18[0-9]{1})|(19[89]{1})|(16[6]{1}))+\d{8})$/.test(value)
})
extend('integer', integer)

localize('zh_CN', {
  messages: {
    ...zh.messages,
    required: '请输入{_field_}'
  },
  names: {
    phone: '手机号',
    email: '邮箱',
    password: '密码',
    captcha: '验证码',
    newPassword: '新密码',
    company: '公司名称',
    username: '名字',
    work: '职务',
    rePassword: '确认密码',
    sex: '性别',
    birth: '出生日期',
    nativePlace: '籍贯',
    publicStatus: '政治面貌',
    profession: '职称',
    academic: '学历',
    pic: '照片',
    workYear: '从业年限',
    school: '毕业院校',
    department: '所学专业',
    cardID: '身份证号',
    fax: '传真',
    tel: '联系电话',
    location: '通讯地址',
    addressID: '邮编',
    workInfo: '工作简历',
    workMark: '工作业绩'
  },
  // 这里的 信息提示 会覆盖上面 message 中定义的 错误提示
  fields: {
    email: {
      email: '请输入正确的{_field_}'
    },
    phone: {
      phone: '请输入正确的{_field_}'
    },
    captcha: {
      integer: '{_field_}必须是数字'
    },
    password: {
      min: '{_field_}至少6个字符'
    },
    newPassword: {
      min: '{_field_}至少6个字符'
    },
    rePassword: {
      confirmed: '两次密码不一致'
    },
    birth: {
      required: '请选择{_field_}'
    },
    publicStatus: {
      required: '请选择{_field_}'
    },
    academic: {
      required: '请选择个人的{_field_}'
    },
    pic: {
      required: '请上传{_field_}'
    },
    cardID: {
      length: '{_field_}格式不正确',
      integer: '{_field_}格式不正确'
    }
  }
})
